<?php
/**
 * Zhub - A PHP Framework For API Developer
 *
 * This file is part of the Zhub package.
 *
 * (c) YiLong Fan <fantiq@163.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 *
 * @author fanyilong <fantiq@163.com>
 * @copyright 2017 fanyilong. All rights reserved.
 * @package Zhub
 * @date 18-3-15
 */

namespace Zhub\Application\Http\Event;


use Zhub\Application\Http\Kernel;
use Zhub\Route\RouteStruct;

interface HttpEvent
{

    const START       = 1;
    const BOOTSTRAP   = 2;
    const REQUEST     = 3;
    const ROUTE_MATCH = 4;
    const DISPATCH    = 5;
    const RESPONSE    = 6;
    const END         = 7;

    public function onStart(Kernel $app);
    public function onBootstrap(Kernel $app);
    public function onRequest(Kernel $app);
    public function onRouteMatch(Kernel $app);
    public function onDispatch(Kernel $app, RouteStruct $route);
    public function onResponse(Kernel $app);
    public function onEnd(Kernel $app);

}
